package org.yeruyi.common.presenter;

import android.content.Intent;

/**
 * Author：yeruyi
 * Date：2017/4/12
 * Version：v1.0
 * Note：create a base class as a basePresenter
 * 2017年04月12日 增加onDestroy方法返回调用
 * 2017年10月05日 增加viewResult方法
 * 2017年11月15日 增加onViewInit方法，表示前台页面初始化开始
 * 2017年11月15日 增加onViewReady方法，表示前台页面初始化完成，可以操作
 * 2018年02月25日 onViewReady增加Intent传值
 */

public abstract class RoyBasePresenter {

    /**
     * 表示前台页面初始化开始
     * 在activity的onCreate中
     */
    public abstract void onViewInit();

    /**
     * 表示前台页面初始化完成
     * 在activity的onStart中
     * 2018年3月21日  更新，该方法转换到onCreate中，作为处理数据，onStart用别的方法代替
     *
     * @param intent intent
     */
    public abstract void onViewReady(Intent intent);

    public void onViewStart(){
        // nothing... if any presenter need update view's data,
        // it can override this method.
    }

    /**
     * View层onDestroy时必调用
     */
    public abstract void destroy();

    /**
     * View层result返回
     *
     * @param requestCode 请求码
     * @param resultCode  结果值
     * @param data        数据
     */
    public void viewResult(int requestCode, int resultCode, Intent data) {
        // 抛出给底层实现
    }


}
